home *** CD-ROM | disk | FTP | other *** search
- unit Main;
-
- interface
-
- uses WinTypes, WinProcs, SysUtils, Classes, Graphics, Forms, Controls, Menus,
- StdCtrls, Dialogs, Buttons, Messages, ExtCtrls;
-
- type
- TMainForm = class(TForm)
- MainMenu1: TMainMenu;
- Panel1: TPanel;
- StatusLine: TPanel;
- File1: TMenuItem;
- FileNewItem: TMenuItem;
- FileOpenItem: TMenuItem;
- Panel2: TPanel;
- FileCloseItem: TMenuItem;
- Window1: TMenuItem;
- Help1: TMenuItem;
- N1: TMenuItem;
- FileExitItem: TMenuItem;
- WindowCascadeItem: TMenuItem;
- WindowTileItem: TMenuItem;
- WindowArrangeItem: TMenuItem;
- HelpAboutItem: TMenuItem;
- OpenDialog: TOpenDialog;
- FileSaveItem: TMenuItem;
- FileSaveAsItem: TMenuItem;
- Edit1: TMenuItem;
- CutItem: TMenuItem;
- CopyItem: TMenuItem;
- PasteItem: TMenuItem;
- WindowMinimizeItem: TMenuItem;
- SpeedPanel: TPanel;
- cmdOrders: TBitBtn;
- cmdTasks: TBitBtn;
- cmdProjects: TBitBtn;
- cmdSecurity: TBitBtn;
- cmdCharts: TBitBtn;
- cmdReports: TBitBtn;
- panLogo: TPanel;
- labName2: TLabel;
- labDirections: TLabel;
- labName1: TLabel;
- labTM: TLabel;
- labCopyright: TLabel;
- procedure FormCreate(Sender: TObject);
- procedure FileNewItemClick(Sender: TObject);
- procedure WindowCascadeItemClick(Sender: TObject);
- procedure UpdateMenuItems(Sender: TObject);
- procedure WindowTileItemClick(Sender: TObject);
- procedure WindowArrangeItemClick(Sender: TObject);
- procedure FileCloseItemClick(Sender: TObject);
- procedure FileOpenItemClick(Sender: TObject);
- procedure FileExitItemClick(Sender: TObject);
- procedure FileSaveItemClick(Sender: TObject);
- procedure FileSaveAsItemClick(Sender: TObject);
- procedure CutItemClick(Sender: TObject);
- procedure CopyItemClick(Sender: TObject);
- procedure PasteItemClick(Sender: TObject);
- procedure WindowMinimizeItemClick(Sender: TObject);
- procedure FormDestroy(Sender: TObject);
- procedure cmdReportsClick(Sender: TObject);
- procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
- private
- { Private declarations }
- procedure CreateMDIChild(const Name: string);
- procedure ShowHint(Sender: TObject);
- public
- { Public declarations }
- end;
-
- var
- MainForm: TMainForm;
-
- implementation
-
- {$R *.DFM}
-
- uses ChildWin, SrwMain, SrwCode;
-
- procedure TMainForm.FormCreate(Sender: TObject);
- begin
- Application.OnHint := ShowHint;
- Screen.OnActiveFormChange := UpdateMenuItems;
- end;
-
- procedure TMainForm.ShowHint(Sender: TObject);
- begin
- StatusLine.Caption := Application.Hint;
- end;
-
- procedure TMainForm.CreateMDIChild(const Name: string);
- var
- Child: TMDIChild;
- begin
- { create a new MDI child window }
- Child := TMDIChild.Create(Application);
- Child.Caption := Name;
- end;
-
- procedure TMainForm.FileNewItemClick(Sender: TObject);
- begin
- CreateMDIChild('NONAME' + IntToStr(MDIChildCount + 1));
- end;
-
- procedure TMainForm.FileOpenItemClick(Sender: TObject);
- begin
- if OpenDialog.Execute then
- CreateMDIChild(OpenDialog.FileName);
- end;
-
- procedure TMainForm.FileCloseItemClick(Sender: TObject);
- begin
- if ActiveMDIChild <> nil then
- ActiveMDIChild.Close;
- end;
-
- procedure TMainForm.FileSaveItemClick(Sender: TObject);
- begin
- { save current file (ActiveMDIChild points to the window) }
- end;
-
- procedure TMainForm.FileSaveAsItemClick(Sender: TObject);
- begin
- { save current file under new name }
- end;
-
- procedure TMainForm.FileExitItemClick(Sender: TObject);
- begin
- Close;
- end;
-
- procedure TMainForm.CutItemClick(Sender: TObject);
- begin
- {cut selection to clipboard}
- end;
-
- procedure TMainForm.CopyItemClick(Sender: TObject);
- begin
- {copy selection to clipboard}
- end;
-
- procedure TMainForm.PasteItemClick(Sender: TObject);
- begin
- {paste from clipboard}
- end;
-
- procedure TMainForm.WindowCascadeItemClick(Sender: TObject);
- begin
- Cascade;
- end;
-
- procedure TMainForm.WindowTileItemClick(Sender: TObject);
- begin
- Tile;
- end;
-
- procedure TMainForm.WindowArrangeItemClick(Sender: TObject);
- begin
- ArrangeIcons;
- end;
-
- procedure TMainForm.WindowMinimizeItemClick(Sender: TObject);
- var
- I: Integer;
- begin
- { Must be done backwards through the MDIChildren array }
- for I := MDIChildCount - 1 downto 0 do
- MDIChildren[I].WindowState := wsMinimized;
- end;
-
- procedure TMainForm.UpdateMenuItems(Sender: TObject);
- begin
- FileCloseItem.Enabled := MDIChildCount > 0;
- FileSaveItem.Enabled := MDIChildCount > 0;
- FileSaveAsItem.Enabled := MDIChildCount > 0;
- CutItem.Enabled := MDIChildCount > 0;
- CopyItem.Enabled := MDIChildCount > 0;
- PasteItem.Enabled := MDIChildCount > 0;
- WindowCascadeItem.Enabled := MDIChildCount > 0;
- WindowTileItem.Enabled := MDIChildCount > 0;
- WindowArrangeItem.Enabled := MDIChildCount > 0;
- WindowMinimizeItem.Enabled := MDIChildCount > 0;
- end;
-
- procedure TMainForm.FormDestroy(Sender: TObject);
- begin
- Screen.OnActiveFormChange := nil;
- end;
-
- procedure TMainForm.cmdReportsClick(Sender: TObject);
- begin
-
- {turn this demo program's logo panel off}
- panLogo.Visible := False;
-
- {create main shazam report wizard form}
- IF frmSrwMain = NIL THEN BEGIN
- srwIsChild := True; {or False for SDI}
- srwParentForm := MainForm; {or NIL for no parent form}
- Application.CreateForm(TfrmSrwMain, frmSrwMain);
- END;
-
- {customize shazam}
- (*
- frmSrwMain.Setting.Items[srwCaption] := 'Report Designer';
- srwUpdateCaption;
- frmSrwMain.Setting.Items[srwFileExt] := 'RPT';
- frmSrwMain.Setting.Items[srwDefaultAlias] := 'DBDEMOS';
- frmSrwMain.memViewCode.ReadOnly := True;
- frmSrwMain.mnuEditCut.Visible := False;
- frmSrwMain.mnuEditPaste.Visible := False;
- *)
-
- {display shazam}
- frmSrwMain.Show;
- frmSrwMain.BringToFront;
-
- end;
-
- procedure TMainForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
- begin
-
- {confirm with user that they actually want to exit}
- IF MessageDlg('Exit the SRW Example Program?',
- mtConfirmation, [mbYes, mbNo], 1) = mrNo THEN BEGIN
- CanClose := False; {cancel the close event}
- Exit;
- END;
-
- {close application properly here, freeing resources, etc.}
-
-
- end;
-
- end.
-